<?php
require_once(".././controller/config.php");


class BANCO
  {
  private $endereco;
  private $porta;
  private $nomedobanco;
  private $usuario;
  private $senha;
  private $parametrosdeconexao;
  private $conexao;
  private $sql;
  private $resultado;
  private $quantidadedelinhas;
  private $linhas;
  private $contador;


  public function __construct()
    {
    global $endereco;
    global $porta;
    global $nomedobanco;
    global $usuario;
    global $senha;

    $this->endereco = $endereco; 
    $this->porta = $porta;
    $this->nomedobanco = $nomedobanco;
    $this->usuario = $usuario;
    $this->senha = $senha;

    $this->parametrosdeconexao =  "host=" . $this->endereco . " " . "port=" . $this->porta . " " . "dbname=" .  $this->nomedobanco . " " . "user=" . $this->usuario . " " . "password=" . $this->senha ;
    
    $this->Conecta();
    }

  public function Conecta()
    {
    $this->conexao = pg_connect($this->parametrosdeconexao);
    if(!($this->conexao))
      {
      exit();
      }
    }

  public function ExecutaSQL($sql)
    {
    $this->sql = $sql;
    $this->resultado = pg_query($this->conexao, $this->sql);   
    if(!($this->resultado))                   
      {
      die(pg_last_error($this->conexao));
      }
    $this->quantidadedelinhas = pg_num_rows($this->resultado);
    if(!(strncasecmp("select", $this->sql, 6)))
      {
      for($this->contador = 0; $this->contador < $this->quantidadedelinhas; $this->contador++)
        {
	    $this->linhas[$this->contador] = pg_fetch_row($this->resultado);
	    }
      return ($this->linhas);
      }  
    }

  public function RetornaQuantidadeLinhas()
    {
    return($this->quantidadedelinhas);
    }
    
  public function __destruct()
    {
    pg_close($this->conexao);   
    }
  }
?>
